WinFormWebCam Versions Original Version was found @ http://easywebcam.codeplex.com/releases/view/37187 For all version OS compiled in: Windows 7 home premium (32bit) Coding Environment: Windows Visual Studio 2010 - C# Dll needed for all: From the Original Source code I downloaded and built off off Webcam_Capture.dll From AForge libraries 2.2.4 Documentation and code can be found @ http://www.aforgenet.com/framework/ Direct link to download: http://www.aforgenet.com/framework/downloads.html DLLs used from the library AForge.Imaging.dll There is are some that have unsafe sections that deal with pointers and wont compile until you adjust the setting for the C# compiler in visual studio 2010 Instructions: Setting the debugger to allow the code to use pointers must be done as well so that it can get through the unsafe area. Instructions: Open the project's Properties page. For details, see How to: Set Project Properties (C#, J#). @ http://msdn.microsoft.com/en-us/library/69t33bf7(v=vs.80).aspx Click the Build property page. Select the Allow Unsafe Code check box. V1: References to outside libs: None that are not already listed Known Issues: Does not run currently. Functionality: Simple motion detection that highlight changes between two frames by coloring changed pixels to red. Special Notes about using: N/A V2: References to outside libs: None that are not already listed Known Issues: Fairly slow. Does not kill the thread on close, only when you tell the debugger to kill it. Functionality: Compares the two frames like V1 and highlights change with red. Also tries plotting the centers of row in each of the blobs. This was in hopes to create data that would allow me to pick out limbs or objects shaped liked limbs. Special Notes about using: N/A V3: References to outside libs: None that are not already listed Known Issues: Erosion could be better. Functionality: First Stage of my object detection algorithm. This code finds all the pixels that fall in the orange and yellow range and keeps them. Then tries to erode noise from the image leaving only the dots I am looking for. Displays what is left after the erosion. There is start to dialate the image, but proves no value for my goal so is not implemented. Special Notes about using: Code needs bright yellow and orange objects as it is what it is trying to detect. V4: References to outside libs: In the same AForge.net package mentioned above just additional dlls added AForge.Math.dll AForge.dll Known Issues: None that I know of Functionality: This version underwent a lot of changes. This version keeps my find blobs process but has replaced most of my functions with more efficient ones. AForge.net has blob processesing and lots of image functions that allow me to erode by applying a filter and find all the blobs and their key points of data by simply calling a few function calls. Found an example of this @ http://www.aforgenet.com/framework/features/blobs_processing.html. This aided me in smoothing out my process. After these replacements, the code finds all the blobs and plots the center of them on a clean bitmap as small dots of the color they are. So you can see what dots are found and their centers. No longer displaying the data from the original image. Contains my code for the erosion and attempt to find the key points. I was just getting into it when I found the function in AForge. Special Notes about using: Code needs bright yellow and orange objects as it is what it is trying to detect. V5: References to outside libs: In the same AForge.net package mentioned above just additional dlls added AForge.Math.dll AForge.dll Known Issues: Cross threading when I am trying to update a UI label on the screen. Issue is commented out. Still using threading though.(Background worker will become my solution) Functionality: Tracks the dot objects and attempts to draw the stickman in the picture box. Does this by processing the image in a seperate thread and then alerting the main thread to update the picture box with my new bitmap. Special Notes about using: Detects Red and Yellow objects. The objects used when creating where bright red and bright yellow. Proper lighting is a big factor. More lighting the better. Glare is problematic though.